#!/usr/bin/awk -f

# create rst table.

BEGIN {
	FS="\t"
	mnf=0
}

{
	if( mnf < NF )
		mnf = NF;

	for( i=1; i <= NF; i ++ ) {
		array[i,NR]=$i;
		if( max_len[i] < length($i) )
			max_len[i]=length($i);
	}
}

END {
	separate_line="+";
	for( j=1; j <= mnf; j++ ) {
		for( i=0; i < max_len[j]+2; i++ )
			separate_line=sprintf("%s%s", separate_line, "-");
		separate_line=sprintf("%s%s", separate_line, "+");
	}
	print separate_line;

	separate_title=separate_line;
	gsub("-", "=", separate_title);
	# print separate_title;

	for( j=1; j <= NR; j++ ) {
		printf("|");
		for( i=1; i <= mnf; i++ ) {
			printf(" %-*s |", max_len[i], array[i,j] );
		}
		printf("\n");

		if( 1 == j )
			print separate_title;
		else
			print separate_line;
	}
}
